While packet switching systems are well known in the art, such systems may not be able to efficiently use communication channels under congested conditions or when combinations of synchronous and asynchronous data must be transported.
A variety of techniques are known in the art for multiplexing synchronous and asynchronous data onto communication channels. The efficient transmission of combinations of asynchronous data and synchronous data, while limiting jitter to acceptable levels, however, has proven to be difficult for traditional multiplexing schemes. In addition, many applications that use synchronous data require that the synchronous data arrive at precisely timed intervals with minimal jitter.
Communication systems commonly employ a variety of topologies, including ring, bus, and star configurations. In some topologies, such as the ring and bus, communication nodes access a shared communication facility, i.e., the ring or bus, which has a maximum bandwidth (capacity) for carrying traffic. While the average amount of traffic generated by the communication nodes on a particular communication facility may be less than the maximum bandwidth of the facility, the traffic generated by the communication nodes at particular times may exceed the maximum bandwidth. Since the communication facility cannot carry more traffic than the maximum bandwidth, some method must determine when the communication facility is being loaded at levels near its maximum bandwidth, i.e., becoming congested, and must limit the traffic generated by the communication nodes to prevent the communication facility from becoming overloaded. A number of such methods are known in the art, but may not be suitable for use on ring-based communication systems that cover large geographic areas due to time delays, or may otherwise introduce significant inefficiencies in the operation of the communication network.